package com.zhuiyun.project.api.system.user.mapper;

import com.zhuiyun.project.api.system.user.entity.SysUserRole;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface SysUserRoleMapper {

    /**
    * @Author hbx
    * @Description 通过角色ID查询角色使用数量
    * @Date 2023/6/22 10:20
    * @param roleId
    */
    public int countUserRoleByRoleId(Long roleId);

    /**
    * @Author hbx
    * @Description 批量新增用户角色信息
    * @Date 2023/6/22 10:21
    * @param userRoleList
    */
    public int batchUserRole(List<SysUserRole> userRoleList);

    /**
    * @Author hbx
    * @Description 删除用户和角色关联信息
    * @Date 2023/6/22 10:21
    * @param userRole
    */
    public int deleteUserRoleInfo(SysUserRole userRole);

    /**
    * @Author hbx
    * @Description 批量取消授权用户角色
    * @Date 2023/6/22 10:21
    * @param roleId
    * @param userIds
    */
    public int deleteUserRoleInfos(@Param("roleId") Long roleId, @Param("userIds") Long[] userIds);

    /**
    * @Author hbx
    * @Description 通过用户ID删除用户和角色关联
    * @Date 2023/6/22 10:21
    * @param userId
    */
    int deleteUserRoleByUserId(Integer userId);

    /**
    * @Author hbx
    * @Description 批量删除用户和角色关联
    * @Date 2023/6/22 10:21
    * @param ids
    */
    public int deleteUserRole(Integer[] ids);

}
